package com.dhcc.bpm.alarm.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.dhcc.bpm.alarm.entity.statistic.AlarmStatistic;
import com.dhcc.bpm.alarm.vo.AlarmStatisticVO;
import com.dhcc.bpm.alarm.vo.statistics.AlarmJoinClassVO;
import com.dhcc.bpm.alarm.vo.statistics.AlarmStrategyTimeVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface AlarmStatisticMapper {

	List<AlarmStatisticVO> alarmNumber(AlarmStatistic alarmStatistic);

	List<AlarmStatisticVO> classNumber(AlarmStatistic alarmStatistic);

	List<AlarmStatisticVO> alarmUrgentNum(AlarmStatistic alarmStatistic);

	List<AlarmStatisticVO> alarmNoticeMethod(AlarmStatistic alarmStatistic);

	List<AlarmStatisticVO> alarmSystem(AlarmStatistic alarmStatistic);

	List<AlarmStatisticVO> alarmObj(AlarmStatistic request);

	List<AlarmStatisticVO> alarmNumGroup(AlarmStatistic request);

	List<AlarmStatisticVO> alarmStrategy(AlarmStatistic request);

	List<AlarmStatisticVO> alarmStsNum(AlarmStatistic request);

	int  alarmStatisticByCode(AlarmStatistic alarmStatistic);

	int alarmStatisticJoinNum(AlarmStatistic alarmStatistic);

	int alarmStatisticMethodNum(AlarmStatistic alarmStatistic);

	List<AlarmStrategyTimeVO> alarmStrategyTimeMinute(AlarmStatistic alarmStatistic);
	
	List<AlarmStrategyTimeVO> alarmStrategyTimeHours(AlarmStatistic alarmStatistic);
	
	List<AlarmStrategyTimeVO> alarmStrategyTimeDays(AlarmStatistic alarmStatistic);

	List<AlarmJoinClassVO> alarmJoinStrategy(IPage<AlarmJoinClassVO> page, @Param("param")AlarmStatistic alarmStatistic);

	List<AlarmJoinClassVO> alarmJoinMethod(IPage<AlarmJoinClassVO> page, @Param("param")AlarmStatistic alarmStatistic);

	List<AlarmStrategyTimeVO> alarmSystemTimeMinute(AlarmStatistic alarmStatistic);

	List<AlarmStrategyTimeVO> alarmSystemTimeHours(AlarmStatistic alarmStatistic);

	List<AlarmStrategyTimeVO> alarmSystemTimeDays(AlarmStatistic alarmStatistic);
	
	
	int selectAlarmCount(AlarmStatistic alarmStatistic);
	

}
